package com.leihao.product.domian;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.util.Date;

public class Product {
    /**
     * 商品编号
     */
    private Integer productId;
    /**
     * 商品图片
     */
    private String productPic;
    /**
     * 商品名称
     */
    private String productName;
    /**
     * 商品货号
     */
    private String productNumber;
    /**
     * 是否上架 0:上架 1:下架
     */
    private Integer isListing;
    /**
     * 是否新品 0:是 1:否
     */
    private Integer isNew;
    /**
     * 是否推荐 0:是 1:否
     */
    private Integer isRecommended;
    /**
     * 排序
     */
    private Integer isSort;
    /**
     * 销量
     */
    private Integer salesVolume;
    /**
     * 审批状态 0:未审批 1:已审批
     */
    private Integer productStatus;
    /**
     * 逻辑删除0:正常 1:删除
     */
    private Integer isDelete;
    /**
     * 商品副标题
     */
    private String productSubheading;
    /**
     * 商品介绍
     */
    private String productIntroduce;
    /**
     * 商品售价
     */
    private BigDecimal productPrice;
    /**
     * 商品市场价
     */
    private BigDecimal productMarketPrice;
    /**
     * 商品库存
     */
    private Integer productInventory;
    /**
     * 商品计量单位
     */
    private String productUnit;
    /**
     * 商品重量
     */
    private BigDecimal productWeight;
    /**
     * 商品分类ID
     */
    private Integer productTypeId;
    /**
     * 商品品牌ID
     */
    private Integer productBrandId;
    /**
     * 赠送积分
     */
    private Integer productPoints;
    /**
     * 赠送成长值
     */
    private Integer productGrow;
    /**
     * 积分购买限制
     */
    private Integer pointsBuyRestrict;
    /**
     * 是否预告商品 0:是 1:否
     */
    private Integer productForetell;
    /**
     * 详细页标题
     */
    private String detailsTitle;
    /**
     * 详细页描述
     */
    private String detailsDescription;
    /**
     * 商品关键字
     */
    private String productKeyword;
    /**
     * 商品备注
     */
    private String productRamark;
    /**
     * 优惠方式 0:无优惠 1:特惠促销 2:会员价格 3:阶梯价格 4：满减价格
     */
    private Integer preferentialMode;
    /**
     * 商品类型外键
     */
    private Integer productAttrId;
    /**
     * 促销开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;

    /**
     * 促销结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;
    /**
     * 促销价格
     */
    private BigDecimal promotionPrice;

    public Integer getProductId() {
        return productId;
    }

    public void setProductId(Integer productId) {
        this.productId = productId;
    }

    public String getProductPic() {
        return productPic;
    }

    public void setProductPic(String productPic) {
        this.productPic = productPic;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductNumber() {
        return productNumber;
    }

    public void setProductNumber(String productNumber) {
        this.productNumber = productNumber;
    }

    public Integer getIsListing() {
        return isListing;
    }

    public void setIsListing(Integer isListing) {
        this.isListing = isListing;
    }

    public Integer getIsNew() {
        return isNew;
    }

    public void setIsNew(Integer isNew) {
        this.isNew = isNew;
    }

    public Integer getIsRecommended() {
        return isRecommended;
    }

    public void setIsRecommended(Integer isRecommended) {
        this.isRecommended = isRecommended;
    }

    public Integer getIsSort() {
        return isSort;
    }

    public void setIsSort(Integer isSort) {
        this.isSort = isSort;
    }

    public Integer getSalesVolume() {
        return salesVolume;
    }

    public void setSalesVolume(Integer salesVolume) {
        this.salesVolume = salesVolume;
    }

    public Integer getProductStatus() {
        return productStatus;
    }

    public void setProductStatus(Integer productStatus) {
        this.productStatus = productStatus;
    }

    public Integer getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(Integer isDelete) {
        this.isDelete = isDelete;
    }

    public String getProductSubheading() {
        return productSubheading;
    }

    public void setProductSubheading(String productSubheading) {
        this.productSubheading = productSubheading;
    }

    public String getProductIntroduce() {
        return productIntroduce;
    }

    public void setProductIntroduce(String productIntroduce) {
        this.productIntroduce = productIntroduce;
    }

    public BigDecimal getProductPrice() {
        return productPrice;
    }

    public void setProductPrice(BigDecimal productPrice) {
        this.productPrice = productPrice;
    }

    public BigDecimal getProductMarketPrice() {
        return productMarketPrice;
    }

    public void setProductMarketPrice(BigDecimal productMarketPrice) {
        this.productMarketPrice = productMarketPrice;
    }

    public Integer getProductInventory() {
        return productInventory;
    }

    public void setProductInventory(Integer productInventory) {
        this.productInventory = productInventory;
    }

    public String getProductUnit() {
        return productUnit;
    }

    public void setProductUnit(String productUnit) {
        this.productUnit = productUnit;
    }

    public BigDecimal getProductWeight() {
        return productWeight;
    }

    public void setProductWeight(BigDecimal productWeight) {
        this.productWeight = productWeight;
    }

    public Integer getProductTypeId() {
        return productTypeId;
    }

    public void setProductTypeId(Integer productTypeId) {
        this.productTypeId = productTypeId;
    }

    public Integer getProductBrandId() {
        return productBrandId;
    }

    public void setProductBrandId(Integer productBrandId) {
        this.productBrandId = productBrandId;
    }

    public Integer getProductPoints() {
        return productPoints;
    }

    public void setProductPoints(Integer productPoints) {
        this.productPoints = productPoints;
    }

    public Integer getProductGrow() {
        return productGrow;
    }

    public void setProductGrow(Integer productGrow) {
        this.productGrow = productGrow;
    }

    public Integer getPointsBuyRestrict() {
        return pointsBuyRestrict;
    }

    public void setPointsBuyRestrict(Integer pointsBuyRestrict) {
        this.pointsBuyRestrict = pointsBuyRestrict;
    }

    public Integer getProductForetell() {
        return productForetell;
    }

    public void setProductForetell(Integer productForetell) {
        this.productForetell = productForetell;
    }

    public String getDetailsTitle() {
        return detailsTitle;
    }

    public void setDetailsTitle(String detailsTitle) {
        this.detailsTitle = detailsTitle;
    }

    public String getDetailsDescription() {
        return detailsDescription;
    }

    public void setDetailsDescription(String detailsDescription) {
        this.detailsDescription = detailsDescription;
    }

    public String getProductKeyword() {
        return productKeyword;
    }

    public void setProductKeyword(String productKeyword) {
        this.productKeyword = productKeyword;
    }

    public String getProductRamark() {
        return productRamark;
    }

    public void setProductRamark(String productRamark) {
        this.productRamark = productRamark;
    }

    public Integer getPreferentialMode() {
        return preferentialMode;
    }

    public void setPreferentialMode(Integer preferentialMode) {
        this.preferentialMode = preferentialMode;
    }

    public Integer getProductAttrId() {
        return productAttrId;
    }

    public void setProductAttrId(Integer productAttrId) {
        this.productAttrId = productAttrId;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public BigDecimal getPromotionPrice() {
        return promotionPrice;
    }

    public void setPromotionPrice(BigDecimal promotionPrice) {
        this.promotionPrice = promotionPrice;
    }

    public Product() {
    }

    public Product(Integer productId, String productPic, String productName, String productNumber, Integer isListing, Integer isNew, Integer isRecommended, Integer isSort, Integer salesVolume, Integer productStatus, Integer isDelete, String productSubheading, String productIntroduce, BigDecimal productPrice, BigDecimal productMarketPrice, Integer productInventory, String productUnit, BigDecimal productWeight, Integer productTypeId, Integer productBrandId, Integer productPoints, Integer productGrow, Integer pointsBuyRestrict, Integer productForetell, String detailsTitle, String detailsDescription, String productKeyword, String productRamark, Integer preferentialMode, Integer productAttrId, Date startTime, Date endTime, BigDecimal promotionPrice) {
        this.productId = productId;
        this.productPic = productPic;
        this.productName = productName;
        this.productNumber = productNumber;
        this.isListing = isListing;
        this.isNew = isNew;
        this.isRecommended = isRecommended;
        this.isSort = isSort;
        this.salesVolume = salesVolume;
        this.productStatus = productStatus;
        this.isDelete = isDelete;
        this.productSubheading = productSubheading;
        this.productIntroduce = productIntroduce;
        this.productPrice = productPrice;
        this.productMarketPrice = productMarketPrice;
        this.productInventory = productInventory;
        this.productUnit = productUnit;
        this.productWeight = productWeight;
        this.productTypeId = productTypeId;
        this.productBrandId = productBrandId;
        this.productPoints = productPoints;
        this.productGrow = productGrow;
        this.pointsBuyRestrict = pointsBuyRestrict;
        this.productForetell = productForetell;
        this.detailsTitle = detailsTitle;
        this.detailsDescription = detailsDescription;
        this.productKeyword = productKeyword;
        this.productRamark = productRamark;
        this.preferentialMode = preferentialMode;
        this.productAttrId = productAttrId;
        this.startTime = startTime;
        this.endTime = endTime;
        this.promotionPrice = promotionPrice;
    }
}
